package com.foreknow.dao.impl;

import com.foreknow.bean.Admin;
import com.foreknow.bean.Guestbook;
import com.foreknow.dao.GuestbookDao;
import com.foreknow.mapping.EntityMapping;
import com.foreknow.mapping.MappingFactory;

import java.sql.SQLException;
import java.util.List;

public class GuestbookDaoImpl extends BaseDao implements GuestbookDao {
  @Override
  public List<Object> getQueryAll() throws SQLException {
    String sql = "select * from guestbook";
    EntityMapping mapping = mappingFactory.getMap(MappingFactory.GUESTBOOK_MAPPING);
    List<Object> list = jdbcTemplate.query(sql,mapping);
    return list;
  }

  @Override
  public boolean save(Guestbook guestbook) throws SQLException {
    String sql = "insert into guestbook(name,phone,email,title,content,createdtime) values(?,?,?,?,?,?)";
    int x = jdbcTemplate.update(sql,guestbook.getName(),guestbook.getPhone(),guestbook.getEmail(),guestbook.getTitle(),guestbook.getContent(),guestbook.getCreatedtime());
    return x == 1;
  }

  @Override
  public boolean delete(Integer id) throws SQLException {
    String sql = "delete from guestbook where id=?";
    int isRight = jdbcTemplate.update(sql,id);
    return isRight==1;
  }

  @Override
  public boolean update(Guestbook guestbook) throws SQLException {
    String sql = "update guestbook set name=?,phone=?,email=?,title=?,content=?,createdtime=? where id=?";
    int isRight = jdbcTemplate.update(sql,guestbook.getName(),guestbook.getPhone(),guestbook.getEmail(),guestbook.getTitle(),guestbook.getContent(),guestbook.getCreatedtime(),guestbook.getId());
    return isRight==1;
  }

  @Override
  public Guestbook queryById(Integer id) throws SQLException {
    String sql = "select * from guestbook where id=?";
    EntityMapping mapping = mappingFactory.getMap(MappingFactory.GUESTBOOK_MAPPING);
    List<Object> list = jdbcTemplate.query(sql,mapping,id);
    Guestbook guestbook=null;
    if(list.size()>0){
      guestbook = (Guestbook)list.get(0);
    }
    return guestbook;
  }
}
